$NG.AllReady(function (page, { useValuesChange, useDataIndexChange, useUpdateRows, useUpdateRow }) {
    const mstform = $NG.getCmpApi("p_form_zjxmndsrjh");
    const dgrid1 = $NG.getCmpApi("p_form_zjxmndsrjh_d");
  
    ////////////////////////////////////////////////////////////--mstform--////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////--mstform--////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////--mstform--////////////////////////////////////////////////////////////
    cntMFilter();
    if (page.oType == "add") {
      getIncomePlan();
      mstform.getItem("u_nd").setValue({
        value: new Date().getFullYear(),
        label: new Date().getFullYear(),
      });
      mstform.getItem("bill_name").setValue(new Date().getFullYear() + "年度收入计划");
    }
    getCntCount("p_form_zjxmndsrjh","u_cnt_phid",()=>{
      getCntMInfoByPhid()
    })
    useValuesChange(({ args }) => {
      cntMFilter();
      getPtInfoByPhid();
      getIncomePlan();
      getCntCount("p_form_zjxmndsrjh","u_cnt_phid",()=>{
        getCntMInfoByPhid()
      })
    }, "p_form_zjxmndsrjh.phid_pc");
    useValuesChange(({ args }) => {
      getIncomePlan();
    }, "p_form_zjxmndsrjh.u_nd");
    useValuesChange(({ args }) => {
      getCntMInfoByPhid();
    }, "p_form_zjxmndsrjh.u_cnt_phid");
  
    ////////////////////////////////////////////////////////////--dgrid1--////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////--dgrid1--////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////--dgrid1--////////////////////////////////////////////////////////////
    //监听表体行为
    useUpdateRows(({ args }) => {
      console.log(`表体监听`, args[0]);
      //汇总金额
      const table_month_key = ["u_yy", "u_ey", "u_sy", "u_siyue", "u_wy", "u_ly", "u_qy", "u_by", "u_jiuyue", "u_shiyue", "u_syy", "u_sey"];
      args[0].forEach((item) => {
        item.u_bnhj = table_month_key.reduce((value, key) => {
          value += Number(item[key]) || 0;
          return value;
        }, 0);
      });
      dgrid1.refreshView();
    }, "p_form_zjxmndsrjh_d");
  
    ////////////////////////////////////////////////////////////--function--////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////--function--////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////--function--////////////////////////////////////////////////////////////
    //获取项目信息
    function getPtInfoByPhid() {
      if (mstform.getItem("phid_pc").getValue()) {
        $NG.execServer("getPtInfoByPhid", { phid: mstform.getItem("phid_pc").getValue() }, function (res) {
          if (res.count == 0) return;
          const datas = JSON.parse(res.data)[0].extendObjects;
          console.log(datas);
          $NG.updateState((updater) => {
            updater.data.p_form_zjxmndsrjh.setProps({
              u_pc_no: datas.pc_no,
              //事业部
              u_syb: { value: datas.division_phid, label: datas.division_name },
              //区域中心
              u_qyzx: { value: datas.regional_center_phid, label: datas.regional_center_name },
              //产品线
              u_cpx: { value: datas.midwife_phid, label: datas.midwife_name },
              //项目经理
              phid_emp: { value: datas.project_manager_phid, label: datas.project_manager_name },
            });
          });
        });
      }
    }
    //获取合同信息
    async function getCntMInfoByPhid() {
      try {
        const res1 = await $NG.execServer("getCntMInfoByPhid", { phid: mstform.getItem("u_cnt_phid").getValue() });
        if (res1.count == 0) return;
        const data1 = JSON.parse(res1.data)[0].extendObjects;
        console.log(data1);
        mstform.getItem("u_qdsj").setValue(data1.Signdt);
        mstform.getItem("u_cnt_no").setValue(data1.pcm_no);
        mstform.getItem("u_sl").setValue(data1.user_taxrate);
      } catch (error) {
        console.error("功能扩展报错:", error);
      }
    }
    /**
     * 过滤区
     * */
    //合同根据项目ID过滤
    function cntMFilter() {
      $NG.updateUI((updater, state) => {
        console.log("过滤参数检查", updater);
        updater.fieldSetForm.p_form_zjxmndsrjh.PCFieldSetPanelGroup1.u_cnt_phid.setProps({
          onBeforeOpen: async () => {
            var phid_pc = $NG.getCmpApi("p_form_zjxmndsrjh").getItem("phid_pc").getValue();
            if (!phid_pc) {
              $NG.alert("请先选择项目");
              return false;
            } else {
              return true;
            }
          },
          ...(!!$NG.getCmpApi("p_form_zjxmndsrjh").getItem("phid_pc").getValue() && {
            clientSqlFilter: {
              bill_type: 1, //合同类型
              phid_pc: $NG.getCmpApi("p_form_zjxmndsrjh").getItem("phid_pc").getValue(),
            },
          }),
        });
      });
    }
  
    async function getIncomePlan() {
      try {
        await dgrid1.clearRows();
        const res = await $NG.execServer("getIncomePlan", { phid_pc: mstform.getItem("phid_pc").getValue(), u_year: mstform.getItem("u_nd").getValue() });
        if (res.count > 0) {
          const datas = JSON.parse(res.data);
          console.log(datas);
          const gridArr = datas.map((items) => {
            const { amt_1, amt_2, amt_3, amt_4, amt_5, amt_6, amt_7, amt_8, amt_9, amt_10, amt_11, amt_12, amt_sum, amt_next1, amt_next2 } = items.extendObjects;
            return {
              u_yy: amt_1,
              u_ey: amt_2,
              u_sy: amt_3,
              u_siyue: amt_4,
              u_wy: amt_5,
              u_ly: amt_6,
              u_qy: amt_7,
              u_by: amt_8,
              u_jiuyue: amt_9,
              u_shiyue: amt_10,
              u_syy: amt_11,
              u_sey: amt_12,
              u_bnhj: amt_sum,
              u_jynjh: amt_next1,
              u_jenjh: amt_next2,
            };
          });
          dgrid1.addRows(gridArr);
          dgrid1.refreshView();
        } else {
          console.log("功能扩展没有数据");
        }
      } catch (error) {
        console.error("功能扩展报错:", error);
      }
    }
  });
  
  //获取合同数量
function getCntCount(table,key,fun){
  if(!$NG.getCmpApi(table).getItem("phid_pc").getValue()) return 
  $NG.execServer("getCntCount",{type:1,phid_pc:$NG.getCmpApi(table).getItem("phid_pc").getValue()},(res)=>{
    console.log(res,'count');
    switch(res.count){
      case 0:
        return
      case 1:
        const datas = JSON.parse(res.data)[0].extendObjects
        const temp_map = {}
        temp_map[key] = datas.phid
        temp_map[`${key}_EXName`] = datas.bill_name
        $NG.updateState((updater)=>{
          updater.data[table].setProps({
            ...temp_map
          })
          setTimeout(()=>{
            if(fun){
              fun()
            }
          },200)
        })
    }
  })
}
  ////////////////////////////////////////////////////////////--getPtInfoByPmID--////////////////////////////////////////////////////////////
  
  // //根据项目经理获取项目信息
  // async function getCntInfoByPmID(managerId) {
  //   console.log(`项目经理ID:${managerId}`);
  //   try {
  //     const gridArr = []; // 定义表体数组
  
  //     // 获取主数据
  //     const res = await $NG.execServer("getCntInfoByPmID", { phid: managerId, cnt_mode: 1 });
  //     if (res.count > 0) {
  //       const datas = JSON.parse(res.data);
  //       console.log(datas);
  //       // 解析每一项并填充表体数组
  //       datas.forEach((items) => {
  //         const item = items.extendObjects;
  //         gridArr.push({
  //           u_hth: item.pcm_phid,
  //           u_hth_EXName: item.pcm_name,
  //           phid_pc: item.phid_pc,
  //           phid_pc_EXName: item.pc_name,
  //           u_qyzx: item.regional_center_name,
  //           u_cpx: item.midwife_phid,
  //           u_cpx_EXName: item.midwife_name,
  //           u_syb: item.division_phid,
  //           u_syb_EXName: item.division_name,
  //           u_phid_org: item.division_phid,
  //           u_phid_org_EXName: item.division_name,
  //         });
  //       });
  //       // 更新表格视图
  //       await dgrid1.clearRows();
  //       dgrid1.addRows(gridArr);
  //       dgrid1.refreshView();
  //     } else {
  //       console.log("getCntInfoByPmID 没有数据");
  //       await dgrid1.clearRows();
  //     }
  //   } catch (error) {
  //     console.error("根据项目经理ID获取项目信息出错:", error);
  //   }
  // }
  